/**************************************************************************
 * @doc CORE
 * @module spdmodem.h | Speed Dial Modem functions 
 *
 * Product     :   SoftPay 2000 (Global Payment Methodology).
 * <nl>Developer   :  SoftPay 2000 team 
 * <nl>Notes       :
 *
 * @head3 CORE Functions |
 * @index | CORE
 * @end
 *
 * Copyright (c) 1996-2000 by VeriFone Inc. All rights reserved.
 * 
 * No part of this software may be used, stored, compiled, reproduced,
 * modified, transcribed, translated, transmitted, or transferred, in any form 
 * or by any means whether electronic, mechanical, magnetic, optical, 
 * or otherwise, without the express prior written permission of VeriFone, Inc.
 *
 * Revision History
 * ------------------------------------------------------------------------
 $Log: /SoftPay VSA2K11D/SPK2SIM/Source/Include/spdmodem.h $
 ********************************************************************************/
#ifndef SPD_MODEM_H
#define SPD_MODEM_H

#include <comm.h>
#include <cpt.h>

#ifdef MODEM

#define SPD_PRIMARY_LINE           0
#define SPD_SECONDARY_LINE         1
#define SPD_MAX_DIAL_LINES		   2

#define SPD_MODEM_ENVIRONMENT_VARIABLE "*MI"

#define SPD_MODEM_MESSAGE_FILE ""

int inProcessSpdPortError (COMM_OBJECT *obCommunication, int inErr);
int inInitSpdModemCommunication (COMM_OBJECT *obCommunication);
void vdInitializeSPDValidationStruct ( MODEM_OBJECT *pobModem);
int inDefaultInitSPDValidationStruct( MODEM_OBJECT *pobModem);
int inOpenSpdModemCommunication (COMM_OBJECT *obCommunication);
int inBeginSpdModemCommunication (COMM_OBJECT *obCommunication, int inCPTIndex);
int inCheckSpdModemCommunication (COMM_OBJECT *obCommunication);
int inSendSpdModemCommunication (COMM_OBJECT *obCommunication, char *pchSendBuff, int inSendSize, 
								VS_BOOL fConfirmSend, int inTimeout, long lnMessage);
int inReceiveSpdModemCommunication (COMM_OBJECT *obCommunication, char *pchReceiveBuff, int inReceiveSize, 
								 int inReceiveTimeout, long lnMessage);
int inFlushSpdModemCommunication (void);
int inEndSpdModemCommunication (COMM_OBJECT *obCommunication);
int inModemSpdDial (COMM_OBJECT *obCommunication, int inCPTIndex);
int inDeInitSpdModemCommunication (COMM_OBJECT *obCommunication);
void vdInitializeSpdModemComm (COMM_OBJECT *obCommunication);

#endif /* SPD_MODEM */

#endif
